/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package Modelo;

/**
 *
 * @author Carlos
 */
import Vista.Datos;
import java.io.*;
import java.awt.Image ;
import Vista.Grafico ;
import java.awt.MediaTracker;

public class MinaDeMinerales extends Industria implements Serializable {

	public static int precio []={200,0,0,0};
	private static tiposIndustria [] atipos;
	public static int longx=3;
	public static int longy=3;
        private char simbolo= 'L';
        public final static int nivelRequerido = 2;
        public static char compatible = '_';
        public static Image imagen;

        public char getSimbolo(){
            return simbolo;
        }
        public Image getImagen(){
            return imagen;
        }
        public int getLongx(){
            return longx;
        }

        public int getLongy(){
            return longy;
        }
        public void trueUsado(){
        usado=true;
        }
        public void falseUsado(){
            usado=false;
        }
        public boolean getUsado(){
            return usado;
        }
        public static void cargar(){
            MediaTracker mt = new MediaTracker( Grafico.applet ) ;
            imagen=Grafico.applet.getImage(Grafico.applet.getCodeBase(),"Imagenes\\minademinerales.png");
            mt.addImage(imagen,0);
            try {
                mt.waitForAll();
            } catch (InterruptedException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

        }
	static{
		atipos=new tiposIndustria[5];
		atipos[0]=new tiposIndustria(20,0,0,0,10,1,"p1",3);
		atipos[1]=new tiposIndustria(80,0,0,0,30,2,"p2",5);
		atipos[2]=new tiposIndustria(100,0,0,0,50,4,"p3",7);
		atipos[3]=new tiposIndustria(150,0,0,0,100,6,"p4",9);
		atipos[4]=new tiposIndustria(200,0,0,0,200,8,"p5",11);
	}
	public MinaDeMinerales(){
		super();
                Juego.gold-=precio[0];
                Juego.experiencia++;
               // setlongx( 3 ) ;
                //setlongy( 3 ) ;
	}

	public int tiempoParaRecolectar(){
		return getTiempoInicial()+atipos[getEstado()].getDuracion()-Juego.turno;
	}

	public void mostrar(){
		System.out.println("-----------------");
		System.out.println("Mina de Minerales");
		if(getEstado()==-1)
			for(int i=0;i<atipos.length;i++){
                            System.out.print("Opcion "+(i+1));
                            atipos[i].imprimir();
                        }
		else
			System.out.println("Se esta realizando un trabajo faltan "+(getTiempoInicial()+atipos[getEstado()].getDuracion() - Juego.turno) + " turnos");
	}

	public static int [] getPrecio(){
		int [] aux=new int [precio.length];
		for(int i=0;i<precio.length;i++) aux[i]=precio[i];
		return aux;
	}


	public void asignarTrabajo(int trabajo){
            trabajo--;
            if(atipos[trabajo].getNivel()<= Juego.nivel){
                if( Juego.gold-atipos[trabajo].getPrecio()[0]>=0 ){
                    Juego.gold-=atipos[trabajo].getPrecio()[0];
                    setEstado(trabajo);
                    Juego.energia--;
                    setTiempoInicio(Juego.turno);
                    //System.out.println("Se asigno el trabajo correctamente");
                    Datos.mostrarPrincipal("Se asigno el trabajo correctamente");
                }
                else //System.out.println("No se tiene los recursos suficientes");
                    Datos.mostrarPrincipal("No se tiene los recursos suficientes");
            }
            else //System.out.println("No se tiene el nivel suficiente");
                Datos.mostrarPrincipal("No se tiene el nivel suficiente");

	}

	public void recolectar(){
		Juego.silver+=atipos[getEstado()].getProduccion()[1];
		setEstado(-1);
		Juego.experiencia++;
	}
        public int getDuracion(){
            return atipos[getEstado()].getDuracion();
        }
}
